import router from "@/router"
import {useBreadCrumb} from "@/store/breadCrumb"
import * as api from "@/api/permission"
import {usePermission} from "@/store/permission"
// 前置钩子
router.beforeEach(async(to,from)=>{
   let permissStore =usePermission()
    
    // console.log(to)
    // console.log(from)
    // 判断本地的会话存储是否有token

    let token=sessionStorage.getItem('whc-token')
    // 如果没有
    if(!token){
        // 并且访问的不是登录页让他跳转到登录页
        if(to.path !=="/login"){
            return{
                path:"/login"
            }
        }

    }else{
        // 如果menulist的长度是0 那么就要发起请求
        if(permissStore.menuList.length===0){
           // 调用store中的action方法发起异步请求
            await  permissStore.fetch_menulist()
            // 废弃要进入的路由，重新进入动态添加的路由
            return {
               ...to
            }
        }
    }
})
// 全局后置钩子

router.afterEach((to,from)=>{ 
    let breadCrumbStore =useBreadCrumb()
    breadCrumbStore.$patch(state=>{
        state.datas=to.matched
    })

})